package com.example.demos.mapper;


import com.example.demos.dto.EmpAddDTO;
import com.example.demos.dto.EmpDTO;
import com.example.demos.dto.EmpEditDTO;
import com.example.demos.dto.EmpQueryDTO;
import com.example.demos.entity.Dep;
import com.example.demos.entity.Emp;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigInteger;
import java.util.List;

@Mapper
public interface EmpMapper {

    List<EmpDTO> select(EmpQueryDTO empQueryDTO);


    List<Dep> selectDepList();

    int delete(BigInteger id);

    List<Emp> selectForList();

    List<Emp> selectNotIncludeId(BigInteger id);

    int insert(EmpAddDTO empAddDTO);

    EmpEditDTO selectById(BigInteger id);

    int update(EmpEditDTO empEditDTO);

    Integer getEmpInfo(@Param("username") String username, @Param("md5Pwd") String md5Pwd);

    int selectByOldPwd(@Param("username") String username,
                       @Param("updateOldPwd") String updateOldPwd);

    int updateByNewPwd(@Param("username") String username,
                       @Param("updateNewPwd") String updateNewPwd);

    List<BigInteger> selectRoleById(BigInteger id);
}
